package net.halflite.mzkr.entity.names;

import java.util.Date;

import net.halflite.mzkr.entity.UserProfile;
import net.halflite.mzkr.entity.names.RegistedUserNames._RegistedUserNames;

import org.seasar.extension.jdbc.name.PropertyName;

/**
 * {@link UserProfile}のプロパティ名の集合です。
 * 
 */
public class UserProfileNames {

    /**
     * idのプロパティ名を返します。
     * 
     * @return idのプロパティ名
     */
    public static PropertyName<Long> id() {
        return new PropertyName<Long>("id");
    }

    /**
     * registedUserIdのプロパティ名を返します。
     * 
     * @return registedUserIdのプロパティ名
     */
    public static PropertyName<Long> registedUserId() {
        return new PropertyName<Long>("registedUserId");
    }

    /**
     * shortProfileのプロパティ名を返します。
     * 
     * @return shortProfileのプロパティ名
     */
    public static PropertyName<String> shortProfile() {
        return new PropertyName<String>("shortProfile");
    }

    /**
     * profileのプロパティ名を返します。
     * 
     * @return profileのプロパティ名
     */
    public static PropertyName<String> profile() {
        return new PropertyName<String>("profile");
    }

    /**
     * associateIdのプロパティ名を返します。
     * 
     * @return associateIdのプロパティ名
     */
    public static PropertyName<String> associateId() {
        return new PropertyName<String>("associateId");
    }

    /**
     * createdのプロパティ名を返します。
     * 
     * @return createdのプロパティ名
     */
    public static PropertyName<Date> created() {
        return new PropertyName<Date>("created");
    }

    /**
     * modifiedのプロパティ名を返します。
     * 
     * @return modifiedのプロパティ名
     */
    public static PropertyName<Date> modified() {
        return new PropertyName<Date>("modified");
    }

    /**
     * registedUserのプロパティ名を返します。
     * 
     * @return registedUserのプロパティ名
     */
    public static _RegistedUserNames registedUser() {
        return new _RegistedUserNames("registedUser");
    }

    /**
     * @author S2JDBC-Gen
     */
    public static class _UserProfileNames extends PropertyName<UserProfile> {

        /**
         * インスタンスを構築します。
         */
        public _UserProfileNames() {
        }

        /**
         * インスタンスを構築します。
         * 
         * @param name
         *            名前
         */
        public _UserProfileNames(final String name) {
            super(name);
        }

        /**
         * インスタンスを構築します。
         * 
         * @param parent
         *            親
         * @param name
         *            名前
         */
        public _UserProfileNames(final PropertyName<?> parent, final String name) {
            super(parent, name);
        }

        /**
         * idのプロパティ名を返します。
         *
         * @return idのプロパティ名
         */
        public PropertyName<Long> id() {
            return new PropertyName<Long>(this, "id");
        }

        /**
         * registedUserIdのプロパティ名を返します。
         *
         * @return registedUserIdのプロパティ名
         */
        public PropertyName<Long> registedUserId() {
            return new PropertyName<Long>(this, "registedUserId");
        }

        /**
         * shortProfileのプロパティ名を返します。
         *
         * @return shortProfileのプロパティ名
         */
        public PropertyName<String> shortProfile() {
            return new PropertyName<String>(this, "shortProfile");
        }

        /**
         * profileのプロパティ名を返します。
         *
         * @return profileのプロパティ名
         */
        public PropertyName<String> profile() {
            return new PropertyName<String>(this, "profile");
        }

        /**
         * associateIdのプロパティ名を返します。
         *
         * @return associateIdのプロパティ名
         */
        public PropertyName<String> associateId() {
            return new PropertyName<String>(this, "associateId");
        }

        /**
         * createdのプロパティ名を返します。
         *
         * @return createdのプロパティ名
         */
        public PropertyName<Date> created() {
            return new PropertyName<Date>(this, "created");
        }

        /**
         * modifiedのプロパティ名を返します。
         *
         * @return modifiedのプロパティ名
         */
        public PropertyName<Date> modified() {
            return new PropertyName<Date>(this, "modified");
        }

        /**
         * registedUserのプロパティ名を返します。
         * 
         * @return registedUserのプロパティ名
         */
        public _RegistedUserNames registedUser() {
            return new _RegistedUserNames(this, "registedUser");
        }
    }
}